package cn.demoncat.util.dingtalk.event;

/**
 * 钉钉事件 - 审批流程变更
 *
 * @author 延晓磊
 * @since 2023年03月23日
 */
public interface DingTalkProcessInstanceChangeEvent {

    // 事件类型
    String EventType = "bpms_instance_change";

    /**
     * 事件处理
     *
     * @param data
     */
    void consumer(Data data);

    /**
     * 事件信息
     */
    @lombok.Data
    class Data{
        // 实例ID
        private String id;
        // 结束状态：1同意，2驳回，3撤销
        private int status;

        public static Data build(String id, int status) {
            Data data = new Data();
            data.id = id;
            data.status = status;
            return data;
        }
    }
}
